强化学习:如何理解价值、优势、奖励和回报
在强化学习(马尔可夫决策链,MDP)的框架下,Agent在环境中交互形成轨迹,每个轨迹点包括了状态、动作、奖励。我们有轨迹:
奖励可以理解为在某个时刻Agent采取某个状态某个动作后获得的即时奖励,是“瞬时”的奖励,不包含任何历史或者未来信息。
回报
回报既有瞬时的奖励也涵盖了未来的奖励:
其中,$\gamma$是折扣因子,$r_{t'}$是在时间$t'$获得的奖励。
至于为什么需要折扣因子,从数学角度来看,我们希望回报是收敛的,如果没有折扣因子会导致$t$无穷大的时候奖励无穷大(我们在强化学习:1. 策略梯度算法对这个问题进行了简单的讨论);从经验角度来看,折扣因子可以使得Agent对于未来的奖励有一个衰减的权重,在当下收益和未来收益之间做平衡。
在强化学习训练中,我们更希望Agent能够获得更高“回报”,而非瞬时的“奖励”。但是,回报虽好,也存在以下问题:
- 回报不稳定,方差很大。回报是一个随机变量,他被环境噪声或状态转移概率等因素影响。
- 回报依赖于未来的奖励,因此训练的时候需要采样整个轨迹。
因此,在策略梯度方法发展后续,用优势函数(回报的期望,是固定值,与轨迹无关)来代替回报进行优化:
对于这个公式的由来,可以参考强化学习:1. 策略梯度算法。
价值函数
价值函数分为:状态价值函数$V(s)$和动作-状态价值函数$Q(s, a)$。
状态价值函数$V(s)$表示在状态$s$下,Agent能够获得的回报的期望:
动作-状态价值函数$Q(s, a)$表示在状态$s$下,采取动作$a$能够获得的回报的期望:
价值函数代表了当前状态下的回报期望,是确定的值,不是随机变量。
优势函数
优势函数$A(s, a)$表示在状态$s$下,采取动作$a$相比其他动作的优势:
对于某个状态下,所有动作对参数的梯度贡献的均值:
因此,在某个状态下,总会有好的动作和坏的动作。这样相对性的评估,就能够使得策略梯度方法更加稳定。而且因为优势函数$A(s,a)$只由当前状态和动作决定,所以在训练时,可以不用采样整个轨迹,增加采样效率。
但是,计算优势函数会面临很大的挑战:计算回报的期望是不可能的,也就是价值函数是不可计算的。因此在后续出现了多种优势函数估计的方法。